var MetaData = (function(){
	//数据源管理框架
	var __metaData = {
			init : function(module,meta,dataDiv,selectData,pageindex){//初始化
				//对页面进行初始化操作
				if(meta){
					this.load(module,meta,dataDiv,selectData,pageindex);
				}
			},
			load : function(module,meta,dataDiv,selectData,pageindex){//填充数据，渲染模块视图
				this.fetch(module,meta,dataDiv,selectData,pageindex);//填充数据
				this.render();//渲染模块视图
			},
			fetch : function(module,meta,dataDiv,selectData,pageindex){//解析数据
				var data = eval("("+meta+")"); 
				var sData = eval("("+selectData+")"); 
				//console.log("==========fetch data start=========")
				if(module){
					if(this[module].load){
						this[module].data = data;
						this[module].dataDiv = $(dataDiv);
						this[module].dataSelect=sData;
						this[module].pageIndex=pageindex;
					}
				}
				//console.log("==========fetch data end=========")
			},
			render : function(){//渲染模块视图
				for(var prop in this){
					if(this[prop].load){
						this[prop].before&&this[prop].before();//渲染模块前
						this[prop].render();//渲染对应模块
						this[prop].after&&this[prop].after();//渲染模块后
					}
				}
			},
			extend : function(target){//继承 扩展
				for(var prop in target){
					this[prop] = target[prop];
				}
			}
	};
	//将meta数据中对应模块的数据，映射给对应模块的data属性
	var __modules__ = {
			sginList : {
				load : true,
				data : null,//模块对应的数据
				dataDiv : null,
				dataBody : $('body'),
				dataSelect:null,
				pageIndex:1,
				dataSize:30,
				before : function(){
				},
				render : function(){//渲染模块
					this.data = this.data||[];
					this.dataSelect =this.dataSelect||[];
					var optionText,beanPro;
					
					var bean,$col;
					var tempSize=this.pageIndex*this.dataSize;
					var key =0;
					if(this.pageIndex >1){
						key = tempSize-this.dataSize;
					}
					for(var i=key;i<tempSize;i++){
						if(i==tempSize){
							break;
						}
						bean=this.data[i];
						if(bean==undefined || bean==null){
							break;
						}
						$col = $('<tr>'+
								'<td>'+bean.jobNumber+'</td>'+
								'<td>'+bean.name+'</td>'+
								'<td><a class="btn btn-primary" href="signEdit?eId='+bean.id+'">编辑</a></td>'+		
								'</tr>');
						this.dataDiv.append($col);
						
						 this.dataDiv.append($col);
					}
				},
				after : function(){
				}
			}//列表数据模块
	};
	__metaData.extend(__modules__);
	return __metaData;
})();